package oo

type Int struct {
	value int
}

func (o *Int) Value() int {
	return o.value
}

func (o *Int) SetValue(v int) {
	o.value = v
}

func (o *Int) SetValue64(v int64) {
	o.value = int(v)
}

func (o *Int) SetPtr(v *int) {
	if v == nil {
		return
	}
	o.value = *v
}

func (o *Int) Reset() {
	o.value = 0
}

type String struct {
	value string
}

func (o *String) Value() string {
	return o.value
}

func (o *String) SetValue(v string) {
	o.value = v
}

func (o *String) SetPtr(v *string) {
	if v == nil {
		return
	}
	o.value = *v
}

func (o *String) Reset() {
	o.value = ""
}
